Solving the TTC 2013 Flowgraphs Case with FunnyQT
نویسنده
چکیده
FunnyQT1 is a new model querying and transformation approach which is implemented as an API for the functional, JVM-based Lisp-dialect Clojure. It provides several sub-APIs for implementing different kinds of queries and transformations. For example, there is a model-to-model transformation API, and there is an in-place transformation API for writing programmed graph transformations. FunnyQT currently works natively with EMF and JGraLab models, i.e., it doesn’t use some internal model representation, and it can be extended to other modeling frameworks, too. For solving the tasks of this transformation case2, FunnyQT’s model transformation API and its polymorphic function API have been used for task 1. Both task 2 and task 3 have been tackled algorithmically using FunnyQT’s plain querying and model manipulation APIs. Task 4 has been solved by using FunnyQT’s querying API and Clojure metaprogramming.
منابع مشابه
Solving the TTC Families to Persons Case with FunnyQT
This paper describes the FunnyQT solution to the bidirectional Families to Persons transformation case of TTC 2017. The solution is simple and concise and passes all batch transformations and some incremental tests.
متن کاملSolving the TTC Java Refactoring Case with FunnyQT
This paper describes the FunnyQT1 [1, 2] solution of the TTC 2015 Java Refactoring Case [3]. It solves all core and exception tasks with the exception of Extension 3: Detecting Refactoring Conflicts and has been elected as overall winner of the case. The solution project is available on Github2, and it is set up for easy reproduction on a SHARE image3. FunnyQT is a model querying and transforma...
متن کاملSolving the TTC Train Benchmark Case with FunnyQT
This paper describes the FunnyQT1 [1, 2] solution of the TTC 2015 Train Benchmark Case [3]. All core and extension tasks have been solved. The solution project is available on Github2, and it is set up for easy reproduction on a SHARE image3. This solution won the overall quality award for this case. FunnyQT is a model querying and transformation library for the functional Lisp dialect Clojure4...
متن کاملSolving the TTC FIXML Case with FunnyQT
FunnyQT is a model querying and model transformation library for the functional Lisp-dialect Clojure providing a rich and efficient querying and transformation API. This paper describes the FunnyQT solution to the TTC 2014 FIXML transformation case. It solves the core task of generating Java, C#, C++, and C code for a given FIXML message. It also solves the extension tasks of determining reason...
متن کاملSolving the TTC Model Execution Case with FunnyQT
This paper describes the FunnyQT1 [1, 2] solution of the TTC 2015 Model Execution Case [3]. It implements the third variant of the case description, i.e., it implements the execution semantics of the complete UML Activity Diagram language. The solution project is available on Github2, and it is set up for easy reproduction on a SHARE image3. The solution has won the most correct solution award....
متن کامل